/**
 * 加密（需要先加载lib/aes/aes.min.js文件）
 * react项目中可以安装引入import CryptoJS from 'crypto-js';
 * react中需要安装npm install babel-plugin-import，否则会报错
 * @param word
 * @returns {*}
 */
 
import CryptoJS from 'crypto-js';
 
let AuthTokenKey = "abcdefgabcdefg12"; //AES密钥
 
/*AES加密*/
export  function encrypt(data) {
    var key = CryptoJS.enc.Utf8.parse(AuthTokenKey);
    var srcs = CryptoJS.enc.Utf8.parse(data);
    var encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return encrypted.toString();
}
 
/*AES解密*/
export function decrypt(data) {
    var key = CryptoJS.enc.Utf8.parse(AuthTokenKey);
    var decrypt = CryptoJS.AES.decrypt(data, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    return JSON.parse(CryptoJS.enc.Utf8.stringify(decrypt).toString());
}
















// import CryptoJS from "crypto-js";

// const key = CryptoJS.enc.Utf8.parse("1234567890000000"); //16位
// const iv = CryptoJS.enc.Utf8.parse("1234567890000000");

// export default {
//   //aes加密
//   encrypt(word) {
//     let encrypted = "";
//     if (typeof word == "string") {
//       const srcs = CryptoJS.enc.Utf8.parse(word);
//       encrypted = CryptoJS.AES.encrypt(srcs, key, {
//         iv: iv,
//         mode: CryptoJS.mode.CBC,
//         padding: CryptoJS.pad.Pkcs7
//       });
//     } else if (typeof word == "object") {
//       //对象格式的转成json字符串
//       const data = JSON.stringify(word);
//       const srcs = CryptoJS.enc.Utf8.parse(data);
//       encrypted = CryptoJS.AES.encrypt(srcs, key, {
//         iv: iv,
//         mode: CryptoJS.mode.CBC,
//         padding: CryptoJS.pad.Pkcs7
//       });
//     }
//     return encrypted.ciphertext.toString();
//   },
//   // aes解密
//   decrypt(word) {
//     const encryptedHexStr = CryptoJS.enc.Hex.parse(word);
//     const srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
//     const decrypt = CryptoJS.AES.decrypt(srcs, key, {
//       iv: iv,
//       mode: CryptoJS.mode.CBC,
//       padding: CryptoJS.pad.Pkcs7
//     });
//     const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
//     return decryptedStr.toString();
//   }
// };